package com.haiyou.sdk.limiter;

import org.springframework.stereotype.Component;

import com.haiyou.common.spring.component.LifecycleableComponent;
import com.haiyou.common.util.limiter.KeyRateLimiter;

import lombok.Getter;

/**
 * 
 * 限流业务API
 * @author xingyuan
 * @Date 2023年6月20日 上午10:14:23
 */
@Component
public class LimiterService implements LifecycleableComponent{

	/**
	 * 实名认证限流器
	 */
	@Getter
	private KeyRateLimiter realNamelimiter;
	
	/**
	 * 发送短信限流器
	 */
	@Getter
	private KeyRateLimiter smsLimiter;

	@Override
	public void init() {
		//缓存 1W个 限制流量 4/s
		realNamelimiter = KeyRateLimiter.create(10000, 1 * 60, 0.25);
		
		//缓存1W个 限制流量 5/s
		smsLimiter = KeyRateLimiter.create(10000, 5 * 60, 0.2);
	}

	@Override
	public void destory() {
		
	}
	
	
}
